Use of General Purpose 8051 Board
in PSC Software Development



Use of General Purpose 8051 Board

This is one example of how I would use the 8051 (actually an 8051 family component from Atmel, the AT89S8252) in my development of software at Photographic Sciences Corporation (PSC). The industrial scanners I worked on were used over the conveyor systems in warehouses and distribution centers. They would typically be connected to: The software I developed would have to interpret events from the photoeye sensors, the belt speed, and data messages from the host system. There could be as many as twelve packages within the view of the barcode scanner, and the labels on those packages could be scanned in any order.

For example, the scanner could scan a barcode label on the 3rd package first, then the 12th, then the 1st, then the 10th. The software had to use the information from the photoeye sensors and tachometers to correctly determine which label was scanned from which package, and then transmit the data from each package when that package reached a certain point on the conveyor.

General Purpose 8051 Board
There was always the possibility that a photoeye could be accidently triggered by a piece of tape stuck to the conveyor belt, or something similar. So, the software had to occasionally deal with random events that should be ignored. Setting up a complete system, and testing all of the particular scenarios was quite time consuming. I wanted something that I could use at my desk to simulate this, and speed things up.

I developed a Windows program (using Borland C++ Builder) that would allow me to define how the various signals should act. This information was then sent from my desktop PC to the general purpose 8051 board. The 8051 board would then simulate the various signals and send them in to the barcode scanner. I could therefore change various parameters in the Windows GUI to simulate real world 'error conditions', and see if the barcode scanner would correctly handle them. The PC could not simulate the signals directly because PCs are not capable of generating signals with the precise timing that the barcode scanner system expected.

See other projects I did at PSC HERE.